package com.itheima.d1_create;
    /**
    目标： 多线程的实现方法二：实现Runnable方法接口
     学会线程的创建方式二。理解它的优缺点。
        1.定义一个线程任务类MyRunnable实现Runnable接口，重写run()方法
        2.创建MyRunnable对象
        3把MyRunnable任务对象交给Thread线程对象处理
        4.调用线程对象的start()方法启动线程
        */
//优点:线程任务类只是实现接口，可以继续继承类和实现接口，扩展性强。
//缺点:编程多一层包装，如果线程有执行结果是不可以直接返回的。
public class ThreadDemo2 {
    public static void main(String[] args) {
        //3.创建一个任务对象
        Runnable target = new MyRunnable();
        //4.把任务对象交割Thread处理
        Thread t = new Thread(target);
        //5.启动线程
        t.start();

        for (int i = 0; i < 10; i++) {
            System.out.printf("主线程执行输出：" + i);
        }
    }
}
/**
 1.定义一个线程任务类 实现Runnable接口
 */
class MyRunnable implements Runnable{
    /**
        2.重写run方法，定义线程的执行任务
     */
    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.printf("子线程执行输出：" + i);
        }
    }
}
